

float4x4 world;                  
float4x4 worldViewProjection;    

struct VSout
{
    float4 Position   : POSITION;
};

struct PSout
{
    float4 color : COLOR0;  
};

VSout RenderSceneVS( float4 vPos : POSITION, float3 vNormal : NORMAL )
{
    VSout output;
    output.Position = mul(vPos, worldViewProjection);
    return output;    
}

PSout RenderScenePS( VSout In ) 
{ 
    PSout output;
    output.color = float4(0,0,1,1);
    return output;
}

PSout RenderSpherePS( VSout In ) 
{ 
    PSout output;
    output.color = float4(0,1,0,1);
    return output;
}

technique RenderScene
{
    pass P0
    {          
        VertexShader = compile vs_2_0 RenderSceneVS();
        PixelShader  = compile ps_2_0 RenderScenePS(); 
    }
}

technique RenderSphere
{
    pass P0
    {          
        VertexShader = compile vs_2_0 RenderSceneVS();
        PixelShader  = compile ps_2_0 RenderSpherePS(); 
    }
}
